#ifndef TRACK_H
#define TRACK_H

#include <time.h>
#include <stdbool.h>

// 手势类型枚举
typedef enum {
    GESTURE_NONE,
    GESTURE_SINGLE_TAP,    //单击
    GESTURE_DOUBLE_TAP,    //双击
    GESTURE_SWIPE_UP,      //上滑
    GESTURE_SWIPE_DOWN,    //下滑
    GESTURE_SWIPE_LEFT,    //左滑
    GESTURE_SWIPE_RIGHT,   //右滑
    GESTURE_PINCH_IN,      //双指缩小
    GESTURE_PINCH_OUT,     //双指放大
    GESTURE_ERROR = -1          //错误
} GestureType;

typedef struct{
    int slot;                    //触点的槽号
    int tracking_id;           // 触点的唯一ID
    int x, y;                    // 当前坐标
    int start_x, start_y;        // 触点按下时的坐标
    struct timeval start_time;   // 按下时间戳
    struct timeval end_time;   // 按下时间戳
    bool vaild;                  // 是否处于活动状态（未被释放）
    GestureType type;
}TouchPoint;


int init_touch_screen();
GestureType get_gesture_type();
void exit_touch_screen();

#endif